
var listaOrdenes = new ListaOT('td_planificacion_ordenes', 'uteco');

jQuery(document).ready(function()
    {
	// ---------- Filtros ---------- //
	
	// Campos de fechas del filtro.
	jQuery(".fecha").datepicker( {showAnim: "slideDown", dateFormat: "dd/mm/yy"} );

	jQuery("#form_filtros input[name='f-fecha1']").change( function()
		{changeCampoFecha("#form_filtros input[name='f-fecha1']", "#form_filtros input[name='f-fecha2']", 1);});
	jQuery("#form_filtros input[name='f-fecha2']").change( function()
		{changeCampoFecha("#form_filtros input[name='f-fecha1']", "#form_filtros input[name='f-fecha2']", 2);});

        jQuery("input.checkbox_cu_parte").change(function()
           {
                var fecha1 = convertirFechaHora(jQuery(this).attr("data-fechaInicio"));
		var fecha2 = convertirFechaHora(jQuery(this).attr("data-fechaFin"));
                var form = jQuery(this).closest("form");
                var cicloId = jQuery(this).val();
                var capacidad = parseInt(jQuery(this).attr("data-capacidad"), 10);
                if(jQuery(this).attr("checked"))
			{
                            jQuery(form).find("input.checkbox_ot[data-cicloId='"+cicloId+"']").attr("checked", "checked");
                            EstimacionPlanificacion_actualizar(form, fecha1, fecha2, capacidad);

                        }else{
                            jQuery(form).find("input.checkbox_ot[data-cicloId='"+cicloId+"']").removeAttr("checked");
                            EstimacionPlanificacion_reset(form);
                        }

        });

	// ---------- Ciclos Uteco ---------- //

	// Cada vez vez que se tilda o destilda un ciclo:
	// - Se destilda cualquier otro ciclo.
	// - Se tildan o destildan todas sus ordenes de trabajo.
	// - Se modifican las fechas de inicio y de fin de la planificación.
	jQuery("input.checkbox_cu").change(function()
		{
                var form = jQuery(this).closest("form");
		var cicloId = jQuery(this).val();
                var numero = jQuery(this).attr("data-numero");
                // Verifico el checkbox se tildo o se destildó.
		if(jQuery(this).attr("checked"))
			{
                        jQuery(form).find("input.checkbox_ot[data-cicloNumero='"+numero+"']").attr("checked", "checked");
				
			// Actualizo los valores de la planificación.
			var fecha1 = convertirFechaHora(jQuery(this).attr("data-fechaInicio"));
			var fecha2 = convertirFechaHora(jQuery(this).attr("data-fechaFin"));
			var capacidad = parseInt(jQuery(this).attr("data-capacidad"), 10);
                        jQuery(form).find("input.checkbox_ot[data-cicloNumero='"+numero+"']:checked").each(function()
                        {
                            var utecoId = jQuery(this).attr("uteco-id");
                            var CapacidadUteco = jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_uteco_" + utecoId +"']").val();
                            var capacidad = jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_hidden_" + utecoId +"']").val();
                            var dataMetros = jQuery(this).attr("data-metros");
                            var metrosLong2 = parseFloat(dataMetros);
                            var capacidadLong2 = parseFloat(capacidad);
                            var resultadoCapacidad2 = capacidadLong2 - metrosLong2;
                            var porc2 = (resultadoCapacidad2 / CapacidadUteco)* 100 ;
                           jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='porcentaje_" + utecoId +"']").val(porc2.toFixed(2));
                           var signo = '';
                           var capacidadString = resultadoCapacidad2;
                            if (resultadoCapacidad2 > 0){
                                signo = '-'
                            }else{
                                signo = '';
                                capacidadString = -(resultadoCapacidad2);
                            }


                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='signo_" + utecoId +"']").val(signo);
                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='capacidad_" + utecoId +"']").val(capacidadString);
                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_hidden_" + utecoId +"']").val(resultadoCapacidad2);
                        });

			EstimacionPlanificacion_actualizar(form, fecha1, fecha2, capacidad);
			}
		else
			{
			// Destildo sus ordenes de trabajo.
                         jQuery(form).find("input.checkbox_ot[data-cicloNumero='"+numero+"']").each(function()
                        {
                         var utecoId = jQuery(this).attr("uteco-id");
                         var CapacidadUteco = jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_uteco_" + utecoId +"']").val();
                         var capacidad = jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_hidden_" + utecoId +"']").val();
                         var dataMetros = jQuery(this).attr("data-metros");
                         var metrosLong = parseFloat(dataMetros);
                         var capacidadLong = parseFloat(capacidad);
                         var resultadoCapacidad = metrosLong + capacidadLong;
                          var porc2 = (resultadoCapacidad / CapacidadUteco)* 100 ;
                          jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='porcentaje_" + utecoId +"']").val(porc2.toFixed(2));
                       var signo = '';
                       var capacidadString2 = resultadoCapacidad;
                            if (resultadoCapacidad > 0){
                                signo = '-'
                            }else{
                                signo = '';
                                capacidadString2 = -(resultadoCapacidad);
                            }

                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='signo_" + utecoId +"']").val(signo);
                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='capacidad_" + utecoId +"']").val(capacidadString2);
                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_hidden_" + utecoId +"']").val(resultadoCapacidad);

                    });
			jQuery(form).find("input.checkbox_ot[data-cicloNumero='"+numero+"']").removeAttr("checked");
                        jQuery(form).find("table").parent("form").parent("td").parent("tr").find("tr.orden.sugerencia").removeClass("sugerencia");
			// Elimino los valores de la planificación.
                        if (jQuery(form).find("input.checkbox_cu:checked").size() > 0){
                            EstimacionPlanificacion_actualizar(form);
                        }else{
                            EstimacionPlanificacion_reset(form);
                        }

			}
		});

	// Cada vez que tilda o destilda una orden de trabajo:
	// - Se recalcula la cantidad de metros.
	// - Si se destildó la checkbox, se destilda la checkbox de su ciclo.
	jQuery("tbody input.checkbox_ot").change(function()
		{
                var form = jQuery(this).closest("form");
                var uteco = jQuery(this).attr("uteco-id");
                var capacidad = jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_hidden_" + uteco +"']").val();
                var CapacidadUteco = jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_uteco_" + uteco +"']").val();
                var metros = jQuery(this).attr("data-metros");
                if(! jQuery(this).attr("checked"))
			{
                        // Verifico si debo destildar el ciclo.
                      var ciclo = jQuery(form).find("tbody input.checkbox_cu[name='cu_"+jQuery(this).attr("data-cicloId")+"']");
                       var metrosLong = parseFloat(metros);
                       var capacidadLong = parseFloat(capacidad);
                       var resultadoCapacidad = metrosLong + capacidadLong;
                       var porc = (resultadoCapacidad / CapacidadUteco)* 100 ;
                      jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='porcentaje_" + uteco +"']").val(porc.toFixed(2));
                           var signo = '';
                      var capacidadString2 = resultadoCapacidad;
                            if (resultadoCapacidad > 0){
                                signo = '-'
                            }else{
                                signo = '';
                                capacidadString2 = -(resultadoCapacidad);
                            }
                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='signo_" + uteco +"']").val(signo);
                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='capacidad_" + uteco +"']").val(capacidadString2);
                       jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_hidden_" + uteco +"']").val(resultadoCapacidad);
                        if(jQuery(ciclo).attr("checked"))
				{
				jQuery(this).removeAttr("checked");
				}
                        }else{
                            var metrosLong2 = parseFloat(metros);
                            var capacidadLong2 = parseFloat(capacidad);
                            var resultadoCapacidad2 = capacidadLong2 - metrosLong2;
                            var signo2 = '';
                            var capacidadString = resultadoCapacidad2;
                            if (resultadoCapacidad2 > 0){
                                signo2 = '-'
                            }else{
                                signo2 = '';
                                capacidadString = -(resultadoCapacidad2);
                            }
                            jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='signo_" + uteco +"']").val(signo2);

                            var porc2 = (resultadoCapacidad2 / CapacidadUteco)* 100 ;
                            jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='porcentaje_" + uteco +"']").val(porc2.toFixed(2));
                            jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("td").find("input[name='capacidad_" + uteco +"']").val(capacidadString);
                            jQuery(form).parents("table").parents("div").find("#uteco_form table").find("tr").find("input[name='cap_hidden_" + uteco +"']").val(resultadoCapacidad2);

                        }
			
		// Actualizo los valores.
                EstimacionPlanificacion_actualizar(form);
		});



	// ---------- Planificación ---------- //

	// El formulario para dar de alta una planificacion inicialmente se encuentra oculto.
	jQuery("#div_planificacion").hide();
		
	// Al presionar el boton 'Planificar', del formulario de la uteco, se abre el formulario de alta.
	jQuery("form.uteco button[name='planificar']").click(function()
		{
	        var formU = jQuery(this).closest("form");
		// Verifico si: 
		// - Se selecciono un ciclo.
		// - Se selecciono al menos una orden de trabajo.
		// - Las ordenes de trabajo no superan la capacidad del ciclo.
		var msj = '';
		if(jQuery(formU).find("input.checkbox_cu:checked").size() <= 0) {msj = 'Debe seleccionar un ciclo para poder realizar una planificación.<br/>';}
                if(jQuery(formU).find("input.checkbox_cu:checked").size() > 1) {msj = 'No puede planificar más de un ciclo.<br/>';}
		else if(jQuery(formU).find("input.checkbox_ot:checked").size() <= 0) {msj = 'Debe seleccionar al menos una orden de trabajo para poder realizar una planificación.<br/>';}
		if(msj.length > 0)
			{
			mostrarMsj("Error", msj);
			return false;
			}
		var i = 1;
                var textoUteco ="";
                var sobrepaso = 0;
                while (i <= 4){
                    var porcentaje = jQuery(formU).parents("table").parents("div").find("#uteco_form table").find("input[name='porcentaje_" + i +"']").val();
                    if (porcentaje < 0){
                        textoUteco = textoUteco + i + " ";
                        sobrepaso = sobrepaso + 1;
                    }
                    i = i +1;
                }
                if (sobrepaso > 0 ){
                    jQuery("#form_information input[name='texto']").val("La cantidad de metros a imprimir de las utecos "+ textoUteco +" supera la capacidades del ciclo.");
                     jQuery("#div_informacion").dialog('open');
                }
//                if(EstimacionPlanificacion_disponible(formU) < 0)
//			{
//                        jQuery("#div_informacion").dialog('open');
//                    }
		// Leo los valores del ciclo.
		var uteco = jQuery(formU).find("input[name='uteco']").val();
		var metros = jQuery(formU).find("input[name='metros']").val();
		var capacidad = jQuery(formU).find("input[name='capacidad']").val();
		var fechaInicio = jQuery(formU).find("input[name='fecha_inicio']").val();
		var fechaFin = jQuery(formU).find("input[name='fecha_fin']").val();
		var cicloId = jQuery(formU).find("input.checkbox_cu:checked").val();
                var cicloActual = jQuery(formU).find("input[name='cicloActual']").val();
		// Leo las ordenes de trabajo.
		var ordenes = new Array();
                var totalMetros = 0;
		jQuery(formU).find("input.checkbox_ot:checked").each(function(index)
			{
			var orden = new Array();
			orden['id'] = jQuery(this).val();
			orden['identificador'] = jQuery(this).attr("data-identificador");
			orden['metros'] = jQuery(this).attr("data-metros");
			orden['tipoPapel'] = jQuery(this).attr("data-tipoPapel");
			orden['manija'] = jQuery(this).attr("data-manija");
			orden['cantidadColores'] = jQuery(this).attr("data-cantidadColores");
			orden['lacaUv'] = jQuery(this).attr("data-lacaUv");
			orden['barniz'] = jQuery(this).attr("data-barniz");
			orden['formato'] = jQuery(this).attr("data-formato");
			orden['logotipo'] = jQuery(this).attr("data-logotipo");
			orden['info'] = jQuery(this).attr("data-info");
                        orden['data-orden-venta'] = jQuery(this).attr("data-orden-venta");
                        totalMetros += parseFloat(jQuery(this).attr("data-metros"));
			ordenes.push(orden);
			});
                var metrosParientes = 0;
                if(cicloActual == 'Si'){
                     jQuery(formU).parents("table").find("form.uteco:last").find("input.checkbox_ot:checked").each(function(value){
                        var orden = new Array();
			orden['id'] = jQuery(this).val();
			orden['identificador'] = jQuery(this).attr("data-identificador");
			orden['metros'] = jQuery(this).attr("data-metros");
			orden['tipoPapel'] = jQuery(this).attr("data-tipoPapel");
			orden['manija'] = jQuery(this).attr("data-manija");
			orden['cantidadColores'] = jQuery(this).attr("data-cantidadColores");
			orden['lacaUv'] = jQuery(this).attr("data-lacaUv");
			orden['barniz'] = jQuery(this).attr("data-barniz");
			orden['formato'] = jQuery(this).attr("data-formato");
			orden['logotipo'] = jQuery(this).attr("data-logotipo");
			orden['info'] = jQuery(this).attr("data-info");
                        orden['data-orden-venta'] = jQuery(this).attr("data-orden-venta");
                        metrosParientes += parseFloat(jQuery(this).attr("data-metros"));
			ordenes.push(orden);
                    });
                }
                var metrosTotales = totalMetros + metrosParientes;
                 metros = formatoNumero(metrosTotales);
		listaOrdenes.setOrdenes(ordenes);

		// Ordeno las ordenes y genero el codigo HTML.
		listaOrdenes.setFechaInicio(convertirFechaHora(fechaInicio + ":00"));
		listaOrdenes.setFechaFin(convertirFechaHora(fechaFin + ":00"));
		listaOrdenes.setCapacidad(parseInt(capacidad.replace(/\./g, ''), 10));		
		listaOrdenes.ordenar();
		listaOrdenes.insertarHtml();
                
		// Inserto los valores al formulario.
		jQuery("#form_planificacion input[name='uteco']").val(uteco);
		jQuery("#form_planificacion input[name='ciclo_id']").val(cicloId);
		jQuery("#form_planificacion input[name='fecha_inicio']").val(fechaInicio);
		jQuery("#form_planificacion input[name='fecha_fin']").val(fechaFin);
		jQuery("#form_planificacion input[name='capacidad']").val(capacidad);
		jQuery("#form_planificacion input[name='metros']").val(metros);
		jQuery("#form_planificacion input[name='ids']").val(listaOrdenes.getIds());
		jQuery("#form_planificacion input[name='bloqueado']").attr("checked", "checked");
		// Muestro el formulario.
		jQuery('#div_ciclos').hide("blind", {}, 300, function()
			{jQuery('#div_planificacion').show("blind", {}, 300);});
		
		return false;
		});
	
	// Al presionar el boton 'Cancelar' se oculta el formulario de alta.
	jQuery("#form_planificacion button[name='cancelar']").click(function()
		{
		jQuery('#div_planificacion').hide("blind", {}, 300, function()
			{jQuery('#div_ciclos').show("blind", {}, 300);});
		return false;
		});
		
	// Al presionar el boton 'Guardar' se envia el formulario.
	jQuery("#form_planificacion button[name='guardar']").click(function()
		{
		// Serializo el turno de las ordenes.
		jQuery("#form_planificacion input[name='ids']").val(listaOrdenes.getIds());

		// Envío el formulario.
		jQuery("#form_planificacion").submit();
		return false;
		});
	// Al presionar el boton 'Guardar' se envia el formulario.
	jQuery("#form_planificacion button[name='imprimir']").click(function()
		{
		// Serializo el turno de las ordenes.
                alert("Llama a imprimir");
		jQuery("#form_planificacion input[name='ids']").val(listaOrdenes.getIds());

		// Envío el formulario.
		jQuery("#form_planificacion").submit();
		return false;
		});
	
	
	// ---------- Excel ---------- //

	// Boton para exportar a Excel.
	jQuery("#form_filtros button[name='exportar']").click(function()
		{
		jQuery("#div_excel_confirmacion").dialog('open');		
		return false;
		});
         // Boton para exportar a Excel.
	jQuery("#form_filtros button[name='scada']").click(function()
		{
                jQuery("#form_cascada").submit();
                return false;
		});
	
	// El formulario con las opciones de exportación es una ventana emergente.
	jQuery("#div_excel_confirmacion").dialog(
			{
	        autoOpen: false,
			show: 'slide',
			hide: 'slide',
	        width: 420,
	        modal: true,
			buttons:
				{
				"Exportar todos": function()
					{
					jQuery(this).dialog("close");
					jQuery("#form_excel").submit();
					},
				"Exportar planificados": function()
					{
					jQuery(this).dialog("close");
					jQuery("#form_excel input[name='planificados']").val(jQuery("Si"));
					jQuery("#form_excel").submit();
					}
				}
			});
        jQuery("#div_informacion").dialog(
			{
	        autoOpen: false,
		show: 'slide',
		hide: 'slide',
	        width: 700,
	        modal: true,
			buttons:
				{
				"Aceptar": function()
					{
                                        jQuery(this).dialog("close");
                                        jQuery('#div_ciclos').hide("blind", {}, 300, function()
								{jQuery('#div_planificacion').show("blind", {}, 300);});

                                        return false;

					}

                                }
			});
	
	
	
	// ---------- Reprogramación ---------- //

	// El formulario de reprogramacion es una ventana emergente.
	jQuery("#div_reprogramacion").dialog(
        {
        autoOpen: false,
		show: 'slide',
		hide: 'slide',
        width: 600,
        modal: true
		});
	
	// Botón 'Reprogramar' del formulario de reprogramación.
	jQuery("#form_reprogramacion button[name='guardar']").click(function()
		{
		// Verifico que se haya seleccionado un ciclo.
		if(jQuery("#form_reprogramacion input[name='ciclo_nuevo']:checked").size() > 0)
			{jQuery("#form_reprogramacion").submit();}
		else
			{jQuery("#div_reprogramacion").dialog('close');}
		
		return false;
		});
	
	// Botón 'Cancelar' del formulario de reprogramación.
	jQuery("#form_reprogramacion button[name='cancelar']").click(function()
		{
		jQuery("#div_reprogramacion").dialog('close');
		return false;
		});

        jQuery("tbody input.actualizar_id").click(function()
		{
                 //Actualizar aca

            var ot = jQuery(this).attr("ot-id");
            var utecoDefault = jQuery(this).attr("uteco-default");
            var form = jQuery(this).closest("form");
            var cicloActual = jQuery(this).attr("cicloActual");
            var utecoReal =jQuery(form).find("tbody input[name ='act_uteco_" + ot + "']").val();
            if (cicloActual.toString() == "Si"){
                var $dialog = $('<div>Desea tambien cambiar a las parientes de esta orden de trabajo?</div>').dialog({
                buttons: [
                        {
                        text: "Si",
                        click: function(){
                             jQuery("tbody input[name='uteco']").val(utecoReal);
                             jQuery("tbody input[name='ot-id']").val(ot);
                             jQuery("tbody input[name='uteco-default']").val(utecoDefault);
                             jQuery("accion_bis").val("Cambiar");
                             jQuery("tbody input[name='respuesta']").val("Si");
                             $dialog.remove();
                             jQuery(form).submit();
                          }
                    },
                    {
                        text: "No",
                        click: function(){
                             jQuery("tbody input[name='uteco']").val(utecoReal);
                             jQuery("tbody input[name='ot-id']").val(ot);
                             jQuery("tbody input[name='uteco-default']").val(utecoDefault);
                             jQuery("accion_bis").val("Cambiar");
                             jQuery("tbody input[name='respuesta']").val("No");
                             $dialog.remove();
                             jQuery(form).submit();
                              
                        }
                  }
                ]
                    });
            }else{
                jQuery("tbody input[name='uteco']").val(utecoReal);
                jQuery("tbody input[name='ot-id']").val(ot);
                jQuery("tbody input[name='uteco-default']").val(utecoDefault);
                jQuery("accion_bis").val("CambiarPariente");
                jQuery(form).submit();
            }
               
		return false;
                });

	// Al presionar el boton de configuracion de una orden, permite reprogSramarla.
	jQuery("a.reprogramar").click(function()
		{ 
		// Cargo los datos de la orden.
		var id = jQuery(this).attr("data-id");
		var info = jQuery(this).attr("data-info");
		var cicloId = jQuery(this).attr("data-cicloId");
		jQuery("#form_reprogramacion input[name='orden_id']").val(id);
		jQuery("#form_reprogramacion input[name='ciclo_actual']").val(info);
		
		// Busco las fechas posibles.
		jQuery("#td_reprogramacion_ciclos").children().remove();
		jQuery.ajax({
			type: 'POST',
			url: 'svcs/fechas-entrega.jsp',
			dataType: 'json',
			data: {'service': 'cambiar-impresion',
				   'pedido_id': id,
				   'planificado': true,
				   'timestamp': timestamp()},
					success: function(data, code, xmlHttpRequest)
						{
						if(data.code == '0')
							{
							// Cargo los ciclos.
							var c = 0;
							var html = '<div>';
							for(var i=0; i<data.ciclosImpresion.length; i++)
								{
								var ciclo = data.ciclosImpresion[i];
								if(cicloId != ciclo.id)
									{
									if(c !=0 ) html += '<br/>';
									html += '<input type="radio" name="ciclo_nuevo" value="'+ciclo.id+'"/> '
											+ getUtecoDescription(ciclo.utecoId) + ' - '
											+ 'Ciclo ' + ciclo.numero + ' - '
											+ ciclo.fechaHoraFin.substring(0, 10) + ' - '
											+ 'Disponible: ' + ciclo.capacidadDisponible + ' (' + ciclo.porcentajeDisponible + '%)';
									c++;
									}
								}
							if(c == 0)
								{html += 'No se encontraron ciclos disponibles para reprogramar este pedido.';}
							html += '</div>';

							jQuery("#td_reprogramacion_ciclos").append(html);
							}
						else
							{jQuery("#td_reprogramacion_ciclos").append('<span>'+data.msj+'</span>');}
						},
					error: function(xmlHttpRequest, type)
						{jQuery("#td_reprogramacion_ciclos").append("<span>No se pudo establecer la conexión con el servidor: " + type + " " + xmlHttpRequest.status + " (" + xmlHttpRequest.statusText + ")</span>");}
			});
		
		// Abro la ventana.
		jQuery("#div_reprogramacion").dialog('open');
		return false;
		});
	});





function diferenciaFechas(fecha1, fecha2)
	{
	var res = 0;
	fecha1 = convertirFechaHora(fecha1 + ":00");	
	fecha2 = convertirFechaHora(fecha2 + ":00");
	fecha1 = (fecha1 != null)? fecha1.getTime() : 0;
	fecha2 = (fecha2 != null)? fecha2.getTime() : 0;
	res = fecha1-fecha2;
	return (res>=0)? res : -res;
	}



function EstimacionPlanificacion_actualizar(form, fecha1, fecha2, capacidad)
	{
	// Actualizo los campos.
	if(fecha1 != null) {jQuery(form).find("input[name='fecha_inicio']").val(Util.formatDate(fecha1, "dd/MM/yyyy HH:mm"));}
	if(fecha2 != null) {jQuery(form).find("input[name='fecha_fin']").val(Util.formatDate(fecha2, "dd/MM/yyyy HH:mm"));}
//	if(capacidad != null) {jQuery(form).find("input[name='capacidad']").val(formatoNumero(capacidad));}
	var i = 1;
        var cap = 0;
        while (i <= 4){
             //Modificar
             var capacidadUteco = parseFloat(jQuery(form).parents("table").parents("div").find("#uteco_form table").find("input[name='cap_total_" + i +"']").val());
             cap = cap + capacidadUteco;
              i = i + 1;
            }
        // Calculo los metros totales.
        jQuery(form).find("input[name='capacidad']").val(formatoNumerMillon(cap));
	var metros = 0;
        jQuery(form).find("input.checkbox_ot:checked").each(function()
		{
                metros += parseInt(jQuery(this).attr("data-metros"), 10);
         });
	jQuery(form).find("input[name='metros']").val(formatoNumero(metros));
	
	// Destaco las filas seleccionadas y muestro a sus parientes.
	jQuery(form).find("tr.orden.destacado").removeClass("destacado");
	jQuery(form).find("table").parent("form").parent("td").parent("tr").find("tr.orden.sugerencia").removeClass("sugerencia");
	jQuery(form).find("input.checkbox_ot:checked").each(function()
		{
               jQuery(this).parent().parent().addClass("destacado");
               var form = jQuery(this).closest("form");
		var ot = jQuery(this).attr("ot-id");
                var ordenVenta = jQuery(this).attr("data-orden-venta");
                jQuery(form).find("input.checkbox_ot[data-orden-venta='"+ordenVenta+"']").each(function()
			{
                        if(!jQuery(this).attr("checked") && !jQuery(this).parent().parent().hasClass("sugerencia"))
                                {jQuery(this).parent().parent().addClass("sugerencia")}
			});
                jQuery(form).find("table").parent("form").parent("td").parent("tr").find("input.checkbox_ot[data-orden-venta='"+ordenVenta+"']").each(function()
			{
                        if(!jQuery(this).attr("checked") && !jQuery(this).parent().parent().hasClass("sugerencia"))
                                {jQuery(this).parent().parent().addClass("sugerencia")}
			});
            });
	}

function EstimacionPlanificacion_reset(form)
	{
	jQuery(form).find("input[name='fecha_inicio']").val('');
	jQuery(form).find("input[name='fecha_fin']").val('');
	jQuery(form).find("input[name='capacidad']").val('');
	jQuery(form).find("input[name='metros']").val('');
	jQuery(form).find("tr.orden.destacado").removeClass("destacado");
	}

function EstimacionPlanificacion_disponible(form)
	{
	var metros = jQuery(form).find("input[name='metros']").val();
	var capacidad = jQuery(form).find("input[name='capacidad']").val();
	
	metros = Util.parseNumber(metros, ',', '.');
	capacidad = Util.parseNumber(capacidad, ',', '.');
	
	return capacidad - metros;
	}